package it.polimi.TravelDreamEAR.ejb.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the amministratore database table.
 * 
 */
@Entity
@NamedQuery(name="Amministratore.findAll", query="SELECT a FROM Amministratore a")
public class Amministratore implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private String username;

	private String citta;

	private String cognome;

	private String email;

	private String nome;

	private String password;

	private String telefono;

	//bi-directional many-to-one association to Impiegato
	@OneToMany(mappedBy="amministratore")
	private List<Impiegato> impiegatos;

	//bi-directional many-to-one association to Pacchetto
	@OneToMany(mappedBy="amministratoreBean")
	private List<Pacchetto> pacchettos;

	//bi-directional many-to-one association to PacchettoAmministratore
	@OneToMany(mappedBy="amministratoreBean")
	private List<PacchettoAmministratore> pacchettoAmministratores;

	public Amministratore() {
	}

	public String getUsername() {
		return this.username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getCitta() {
		return this.citta;
	}

	public void setCitta(String citta) {
		this.citta = citta;
	}

	public String getCognome() {
		return this.cognome;
	}

	public void setCognome(String cognome) {
		this.cognome = cognome;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getTelefono() {
		return this.telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public List<Impiegato> getImpiegatos() {
		return this.impiegatos;
	}

	public void setImpiegatos(List<Impiegato> impiegatos) {
		this.impiegatos = impiegatos;
	}

	public Impiegato addImpiegato(Impiegato impiegato) {
		getImpiegatos().add(impiegato);
		impiegato.setAmministratore(this);

		return impiegato;
	}

	public Impiegato removeImpiegato(Impiegato impiegato) {
		getImpiegatos().remove(impiegato);
		impiegato.setAmministratore(null);

		return impiegato;
	}

	public List<Pacchetto> getPacchettos() {
		return this.pacchettos;
	}

	public void setPacchettos(List<Pacchetto> pacchettos) {
		this.pacchettos = pacchettos;
	}

	public Pacchetto addPacchetto(Pacchetto pacchetto) {
		getPacchettos().add(pacchetto);
		pacchetto.setAmministratoreBean(this);

		return pacchetto;
	}

	public Pacchetto removePacchetto(Pacchetto pacchetto) {
		getPacchettos().remove(pacchetto);
		pacchetto.setAmministratoreBean(null);

		return pacchetto;
	}

	public List<PacchettoAmministratore> getPacchettoAmministratores() {
		return this.pacchettoAmministratores;
	}

	public void setPacchettoAmministratores(List<PacchettoAmministratore> pacchettoAmministratores) {
		this.pacchettoAmministratores = pacchettoAmministratores;
	}

	public PacchettoAmministratore addPacchettoAmministratore(PacchettoAmministratore pacchettoAmministratore) {
		getPacchettoAmministratores().add(pacchettoAmministratore);
		pacchettoAmministratore.setAmministratoreBean(this);

		return pacchettoAmministratore;
	}

	public PacchettoAmministratore removePacchettoAmministratore(PacchettoAmministratore pacchettoAmministratore) {
		getPacchettoAmministratores().remove(pacchettoAmministratore);
		pacchettoAmministratore.setAmministratoreBean(null);

		return pacchettoAmministratore;
	}

}